\begin{section}{Desarrollo}

Como mencionamos en la introducción, la resolución del trabajo se compone de resolver cuatro problemas distintos.

\subsection{Calibración}

Debido a que las imágenes que analizaremos en el trabajo (suministradas por la cátedra) ya se encuentran calibradas, la
complejidad de este punto radica en encontrar la dirección de la iluminación de cada objeto.

Otra simplificación a este problema consiste en que se realiza este cálculo sólo para la esfera. Esta simplificación es
necesaria debido a que se requiere una parametrización conocida para lograr encontrar la dirección de la fuente de luz.
Al conocerla, encontraremos el punto de mayor brillo de cada una de las tres imágenes. Sabemos que en este punto, la
luz incide perpendicularmente sobre la superficie de la esfera. Con este dato, utilizamos el centro, y el radio para
poder calcular el ángulo en cuestión.

El punto máximo de iluminación se encuentra en dos partes: La coordenada $s_x$ e $s_y$ se hallan encontrando el punto de
 iluminación máxima de la esfera.

OJO CON EL TEMA DEL CENTRO...

La coordenada faltante, $z$, se encuentra calculando:
\begin{displaymath}
puntoMasBrillante_z = -\sqrt{radio^2 + S_x^2 + S_y^2}
\end{displaymath}

El radio, a su vez, se calcula a partir de la máscara de la esfera, y no de la imágen original. La máscara se encarga de
"aislar" la esfera del resto de la imágen, eliminando distraccciones como el soporte y ajustando los bordes de manera
visible.
\begin{eqnarray}
s_x = \frac{puntoMasBrillante_x}{\|s\|} \nonumber \\
s_y = \frac{puntoMasBrillante_y}{\|s\|} \nonumber \\
s_z = \frac{puntoMasBrillante_z}{\|s\|} \nonumber \\
\end{eqnarray}

Con esto, aplicado a cada una de las tres imágenes, tendremos ntonces la dirección de iluminación para cada una.
\begin{displaymath}
\mathbf{s}^1 =\bordermatrix{& \cr
  &s^1_x \cr
  &s^1_y \cr  
  &s^1_z \cr}, 
\mathbf{s}^2 =\bordermatrix{& \cr
  &s^2_x \cr
  &s^2_y \cr  
  &s^2_z \cr},
\mathbf{s}^3 =\bordermatrix{& \cr
  &s^3_x \cr
  &s^3_y \cr  
  &s^3_z \cr}	          
\end{displaymath}

\subsection{Construcción del campo normal}

Ahora que contamos con las direcciones de iluminación, podemos determinar el campo normal \textbf{m}. El campo normal
se encuentra resolviendo el siguiente sistema de ecuaciones $Ax=b$, para cada uno de los píxeles de la imágen.

\begin{displaymath}
\bordermatrix{& \cr
  &I_1 \cr
  &I_2 \cr  
  &I_3 \cr}=
  \bordermatrix{& \cr
  &s^1_x & s^1_y & s^1_z \cr
  &s^2_x & s^2_y & s^2_z \cr
  &s^3_x & s^3_y & s^3_z
  \cr} \bordermatrix{& \cr
  &m_x \cr
  &m_y \cr  
  &m_z \cr} \label{eqn:s}
\end{displaymath}

Nuestra matriz compuesta pos las direcciones de iluminación de cada imágen ($s^1$, $s^2$ y $s^3$) conforman nuestro
$A$, las intensidades $I_1$, $I_2$ e $I_3$ conforman el término independiente $b$, quedando como incógnitas las $x$ de
nuestro sistema: $m_x$, $m_y$ y $m_z$.

Para resolver el sistema decidimos aprovechar las bondades de la factorización LU. El algoritmo se implementa sobre la
clase \verb|matriz|.

\begin{displaymath}
matrizS.getLU(L,U);
\end{displaymath}

\verb|matrizS| es nuestra matriz de 3x3 con las componentes de las direcciones de iluminación para cada imágen.

Luego de calcular la factorización, en \verb|L| tendremos los multiplicadores que se utilizarán para triangular la
matriz. Estos multiplicadores sirven para conocer el resultado de aplicar la eliminación Gaussiana a la matriz
\verb|S|.

\begin{displaymath}
L = \bordermatrix{& \cr
  &1 & 0 & 0 \cr
  &A1 & 0 & 0 \cr
  &A2 & A3 & 1
\cr}, matrizS = \left(\begin{array}{cccc|c}
s_x^1 & s_y^1 & &s_z^1 & I_1 \\
s_x^2 & s_y^2 & &s_z^2 & I_2 \\
s_x^3 & s_y^3 & &s_z^3 & I_3 \\
\end{array}\right)
\end{displaymath}

Para triangular nuestra matriz con $Ss$, realizamos las siguientes operaciones:

\begin{eqnarray}
F2 = F2 - A1 \times F1 \nonumber \\
F3 = F3 - A2 \times F1 \nonumber \\
F3 = F3 - A3 \times F2 \nonumber
\end{eqnarray}

Finalmente, despejando, nos quedan las siguientes ecuaciones perfectamente resolubles:

\begin{eqnarray}
m_z = I_3 / s_z^3 \nonumber \\
m_y = (s_z^3 \times m_z - I_2) / s_y^2 \nonumber \\
m_x = (s_y^1 \times m_y + s_z^1 \times mz - I1) / s_x^1 \nonumber
\end{eqnarray}

PODRÍAMOS AGREGAR ALGO MÁS... ME HUELE QUE FALTA ALGO...

\subsection{Normalización}

Como siguiente punto, necesitamos resolver la siguiente 

\begin{displaymath}
\| \mathbf{m} \|=\left|I_0 \rho \right| \| \mathbf{n} \|, \| \mathbf{n} \|=1
\end{displaymath}

\subsection{Composición de la profundidad}

\input{codigo.tex}
\end{section}




